/*
 * @description: 
    函数的类型实际上是指的是： 函数参数 和 返回值的 类型 
    两种方式： 1. 单独 指定参数，返回值类型 2. 同时指定参数，返回值类型 
 * @Date: 2022-12-06 11:03:36
 * @example: 
 * @params: 
 */


/** 函数声明 */
function add (num1:number,num2:number):number {
    return num1  +  num2 
}

/** 函数字面量 */
const  Add = (num1:number,num2:number):number => {
    return num1 + num2
}


/** 同时指定 */
const addd : (num1:number,num2:number) => number = (num1,num2)=>{
    return num1 + num2 
} 


/** 如果函数没有返回值 ，那么函数 返回值类型为 void */
function greet (name:string):void{
    console.log("hello",name)
}


/** 函数可选参数
 *  使用函数某个功能时 参数可以传也可不传，这种情况下 就用到可选参数  
 *  可选参数： 在可选参数名称后加 ?
 *  注：可选参数只能出现在参数列表的最后，也就是说 可选参数的后面不能在出现必选参数 ！
 */

function Myslice (start?:number,end?:number):void{
    console.log(start,end)
}